﻿using System;
using EkStudio.com.bean.xml.reflection;
using EkStudio.com.bean.xml.RootInterface;
using EkStudio.com.bean.xml.RootInterface.language;
using EkStudio.com.common.unit;

namespace EkStudio.com.bean.xml.ProjectMenu
{
    [XmlRootElement("project")]
    public class ProjectMenuItem
    {
        private bool ReadOnly = false;
        private ProjectMenuDicRoot dictionary = null;
        private ProjectMenuModRoot business = null;
        private ProjectMenuMultRoot multipleProperties = null;
        private ProjectMenuWFlowRoot workFlow = null;
        private ProjectMenuChartRoot chartBar = null;
        private ProjectMenuDMapRoot mapProperties = null;


        private BillFieldsI18nRoot i18nProperties = null;

        [XmlElement("dictionary")]
        public ProjectMenuDicRoot Dictionary
        {
            get
            {
                return dictionary;
            }

            set
            {
                dictionary = value;
            }
        }
        [XmlElement("business")]
        public ProjectMenuModRoot Business
        {
            get
            {
                return business;
            }

            set
            {
                business = value;
            }
        }
        [XmlElement("multipleProperties")]
        public ProjectMenuMultRoot MultipleProperties
        {
            get
            {
                return multipleProperties;
            }

            set
            {
                multipleProperties = value;
            }
        }
        [XmlElement("workFlow")]
        public ProjectMenuWFlowRoot WorkFlow
        {
            get
            {
                return workFlow;
            }

            set
            {
                workFlow = value;
            }
        }
        [XmlElement("chartBar")]
        public ProjectMenuChartRoot ChartBar
        {
            get
            {
                return chartBar;
            }

            set
            {
                chartBar = value;
            }
        }
        [XmlElement("mapProperties")]
        public ProjectMenuDMapRoot MapProperties
        {
            get { return mapProperties; }
            set { mapProperties = value; }
        }

        [XmlElement("i18nProperties")]
        public BillFieldsI18nRoot I18nProperties
        {
            get
            {
                return i18nProperties;
            }

            set
            {
                i18nProperties = value;
            }
        }
        [XmlTransient]
        public object ParentBean
        {
            get
            {
                return null;
            }

            set
            {
                
            }
        }

        public string getKey()
        {
            return "ProjectMenu";
        }

        public string getCaption()
        {
            return "ProjectMenu";
        }

        public void setReadOnly(bool read)
        {
            this.ReadOnly = read;
        }

        public bool isReadOnly()
        {
            return ReadOnly;
        }

        public int getBillType()
        {
            return ProjectUtil.TYPE_PROJECT_MENU;
        }

        public object Clone()
        {
            throw new NotImplementedException();
        }
    }
}
